客户端的启动流程
- 初始化客户端,设置相应参数,配置线程模型,IO模型以及数据连接读写逻辑
- connect()方法是异步调用的,借助异步回调机制来实现指数退避重连逻辑
相对于服务端,客户端不需要调用childhandler( )方法,客户端不需要监听新连接的接入。
1 | import io.netty.bootstrap.Bootstrap; |
如果在微服务的体系下,客户端不需要约定好端口,都是服务端启动并注册到微服务注册中心,注册host和port,客户端从注册中心获取服务端的信息即可。
此处使用定时任务逻辑,不使用sleep的原因:
- sleep()需要处理Interrupted异常
- 可以交给专门的调度线程去做,主线程不会休眠。